package com.murilo.atividade.view;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;






import com.murilo.atividade.dao.PessoaDao;
import com.murilo.atividade.model.Pessoa;

public class PessoaProjetoGui extends JFrame {
	private JTextField texnome;
	private JTextField textelefone;
	private JTextField texcpf;
	private JTextField texsalario;
	private DefaultTableModel modelo;
	private int linhaSelecionada;
	private JTextField texCodigo;
	
	
	public PessoaProjetoGui() {
		setResizable(false);
		setTitle("Pessoa");
		
		JPanel panel = new JPanel();
		panel.setBackground(Color.WHITE);
		getContentPane().add(panel, BorderLayout.CENTER);
		panel.setLayout(null);
		panel.setSize(240,400);
		setSize(450,260);
		JLabel lblNome = new JLabel("Nome:");
		lblNome.setBounds(20, 36, 57, 14);
		panel.add(lblNome);
		
		JLabel lblTelefone = new JLabel("Telefone:");
		lblTelefone.setBounds(20, 86, 57, 14);
		panel.add(lblTelefone);
		
		JLabel lblCpf = new JLabel("CPF:");
		lblCpf.setBounds(20, 136, 57, 14);
		panel.add(lblCpf);
		
		JLabel lblSalario = new JLabel("Sal\u00E1rio:");
		lblSalario.setBounds(20, 186, 57, 14);
		panel.add(lblSalario);
		
		texnome = new JTextField();
		texnome.setBounds(96, 33, 217, 20);
		panel.add(texnome);
		texnome.setColumns(10);
		
		textelefone = new JTextField();
		textelefone.setColumns(10);
		textelefone.setBounds(96, 83, 217, 20);
		panel.add(textelefone);
		
		texcpf = new JTextField();
		texcpf.setColumns(10);
		texcpf.setBounds(96, 133, 217, 20);
		panel.add(texcpf);
		
		texsalario = new JTextField();
		texsalario.setColumns(10);
		texsalario.setBounds(96, 183, 112, 20);
		panel.add(texsalario);
		
		JButton btnListar = new JButton("Listar");
		btnListar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				ListaPessoaGui gui = new ListaPessoaGui();
				dispose();
				gui.setVisible(true);
				
			}
		});
		btnListar.setBounds(328, 32, 89, 23);
		panel.add(btnListar);
		
		JButton btnSalvar = new JButton("Salvar");
		btnSalvar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				Pessoa pessoa = new Pessoa();
				pessoa.setNome(texnome.getText());
				pessoa.setCPF(texcpf.getText());
				pessoa.setTelefone(textelefone.getText());
				pessoa.setSalario(Double.parseDouble(texsalario.getText()));
				PessoaDao dao = new PessoaDao();
			    if(!texCodigo.getText().trim().equals("") || texCodigo.getText() == null){
					pessoa.setCodigo(Integer.parseInt(texCodigo.getText()));
					dao.editar(pessoa);
					modelo.removeRow(linhaSelecionada);
				 	modelo.addRow(new Object[] {pessoa.getCodigo(), pessoa.getNome(), pessoa.getTelefone()});
				 	dispose();
				}else{
					dao.inserir(pessoa);		
				}
				
			}
		});
		btnSalvar.setBounds(328, 82, 89, 23);
		panel.add(btnSalvar);
		
		JButton btnContas = new JButton("contasP");
		btnContas.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			}
		});
		btnContas.setBounds(328, 132, 89, 23);
		panel.add(btnContas);
		
		JLabel lblId = new JLabel("ID: ");
		lblId.setBounds(218, 186, 28, 14);
		panel.add(lblId);
		
		texCodigo = new JTextField();
		texCodigo.setEditable(false);
		texCodigo.setColumns(10);
		texCodigo.setBounds(245, 183, 68, 20);
		panel.add(texCodigo);
	}
	
	public PessoaProjetoGui(int cdpessoa, DefaultTableModel modelo,
			int linhaSelecionada) {
		this();
		this.modelo = modelo;
		this.linhaSelecionada = linhaSelecionada;
		PessoaDao dao = new PessoaDao();
		Pessoa pessoa = dao.listarPorId(cdpessoa);

		texnome.setText(pessoa.getNome());
		textelefone.setText(pessoa.getTelefone());
		texcpf.setText(pessoa.getCPF());
		texCodigo.setText(String.valueOf(pessoa.getCodigo()));
		texsalario.setText(String.valueOf(pessoa.getSalario()));
		
	}
}
